package com.fortune.dao;

import com.fortune.dto.in.dStoreIn.*;
import com.fortune.dto.in.dealerWarehouseReceiptWarehouse.ConfirmStorage;
import com.fortune.dto.in.dealerWarehouseReceiptWarehouse.DealerWarehouseReceiptWarehouseDto;
import com.fortune.vo.dStorage.DstorageInfo;
import com.fortune.vo.dStore.DstoreInfo;
import com.fortune.vo.dStoreIn.*;
import com.fortune.vo.productStockDetailInfo.ProductStockDetailInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by Administrator on 2018/5/26 0026.
 */
public interface DstoreInDao {

    List<DstoreInInfo> findStoreList(@Param("dstoreInListDto")DstoreInListDto dstoreInListDto,@Param("did")String did);

    List<DstoreInfo> findStore(@Param("did")String did);

    List<MData> findMid(@Param("did")String did);

    List<MData> findDidPro(@Param("did")String did);

    List<MData> findMidPro(@Param("id")String id);

    int findStoreListCount(@Param("did")String did);

    int queryDInitInfoIsExist(@Param("did")String did,@Param("num")String num,@Param("storeId")String storeId);

    int addDinitInfo(@Param("userId")String userId,@Param("did")String did,@Param("id")String id,@Param("addDto")DstoreInitAddDto addDto);

    int addInitDetailInfo(@Param("did")String did,@Param("id")String id,@Param("number")Integer number,@Param("list") List<DStoreInitProduceDto> list);

    int editDinitInfo(@Param("did")String did,@Param("editDto")DstoreInitEditDto editDto);

    int deleteDinitDetailInfo(@Param("did")String did,@Param("id") String id);

    int editInitDetailInfo(@Param("did")String did,@Param("list") List<DStoreInitProduceDto> list,@Param("id") String id,@Param("number")Integer number);

    int deleteDInitInfo(@Param("did")String did,@Param("id")String id);

    DinitDetails queryStoreInitDetails(@Param("did")String did,@Param("id")String id);

    int updateStoreInit(@Param("did")String did,@Param("id")String id,@Param("userId")String userId);

    List<ProductStockDetailInfo> queryProductStock(@Param("did")String did,@Param("id")String id);

    List<DstorageInfo> findStorageList(@Param("dealerDto") DealerWarehouseReceiptWarehouseDto dealerDto,@Param("did") String did);

    int findStorageListCount(@Param("dealerDto") DealerWarehouseReceiptWarehouseDto dealerDto,@Param("did") String did);

    String findStorageID(@Param("num")String num,@Param("did")String did);

    int confireStorage(@Param("confirmStorage")ConfirmStorage confirmStorage, @Param("did")String did,@Param("id")String id,@Param("chickId")String chickId);

    List<StorageDetails> findStorageDetails(@Param("did")String did,@Param("id")String id);

    Integer findMaxNo(@Param("did")String did,@Param("id")String id);

    int queryDStoreInIsExist(@Param("num")String num, @Param("did")String did);

    int addDStoreIn(@Param("userId")String userId,@Param("id")String id,@Param("did")String did,@Param("addDto")DStoreInAddDto addDto);

    int addDStoreInInfo(@Param("did")String did,@Param("id")String id,@Param("list") List<DStoreInProduceDto> list);

    int queryEditIsExist(@Param("editDto") DStoreInEditDto editDto, @Param("did") String did);

    int editDStoreIn(@Param("userId")String userId,@Param("did")String did,@Param("editDto") DStoreInEditDto editDto);

    int deleteDStoreInInfo(@Param("did")String did,@Param("id")String id);

    int editDStoreInInfo(@Param("did") String did,@Param("id") String id,@Param("list") List<DStoreInProduceDto> list);

    int deleteDStoreIn(@Param("did") String did, @Param("id") String id);

    List<DStoreInInfoDetail> queryDStoreInInfoDetail(@Param("did") String did, @Param("id") String id);
}
